import { fileURLToPath, URL } from 'node:url'

import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'

// https://vitejs.dev/config/
export default defineConfig(({ mode, command }) => {
  const env = loadEnv(mode, process.cwd());
  const { VITE_APP_ENV } = env;

  return {
  plugins: [
    vue(),
    vueJsx(),
  ],
  base: VITE_APP_ENV === 'production' ? '/' : '/',
  server: {
      port: 80,
      host: true,
      open: true,
      proxy: {
          // https://cn.vitejs.dev/config/#server-proxy
          '/dev-api': {
              target: 'http://localhost:8080',
              changeOrigin: true,
              rewrite: p => p.replace(/^\/dev-api/, ''),
          },
      },
  },
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  build: {
    rollupOptions: {
        output: {
            manualChunks(id) {
                if (id.includes('element-plus/theme')) {
                    return 'ele';
                }
            },
        },
    },
},
}
});
